﻿Imports System.Data.SqlClient, System.Globalization

Public Class IndicadorAD

    'Utilizado para llenar el combo de Universidad del formulario
    Public Function fBuscarUniversidad() As DataSet
        Dim dsUniversidad As New DataSet
        Dim da As SqlClient.SqlDataAdapter
        'Instanciamos un objeto de la clase ConexionBD
        Dim cnx As New ConexionBD
        Try
            'Se crea la sentencia SQL que en este caso es un STORE PROCEDURE 
            Dim strSql As String = "exec sp_BUSCAR_UNIVERSIDAD"
            'Creamos un conexión a la BD"
            Dim cnx_1 As SqlConnection
            cnx_1 = cnx.obtenerCnx()
            da = New SqlClient.SqlDataAdapter(strSql, cnx_1)
            da.SelectCommand.CommandType = CommandType.Text
            da.Fill(dsUniversidad)
            cnx_1.Close()
            Return dsUniversidad
        Catch ex As Exception
            MsgBox("Se presentaron problemas al cargar las universidades", MsgBoxStyle.Information, "Aviso")
            Return Nothing
        End Try
    End Function

    'Public Function fRegistrarPromocion(ByVal pPromocion As PromocionEN)
    '    Try
    '        'Instanciamos un objeto de la clase ConexionBD
    '        Dim cnx As New ConexionBD
    '        'Se crea la sentencia SQL que en este caso es un STORE PROCEDURE 
    '        'Dim strSql As String = "exec sp_REGISTRARPROMOCION '" & pPromocion.NombrePromocion & "','" & pPromocion.HotelPromocion.IdHotel & "','" & pPromocion.FechaInicioPromocion.Date & "','" & pPromocion.FechaFinPromocion.Date & "', " & pPromocion.CantidadDiasPromocion & "," & pPromocion.CantidadAdelantoPromocion & "," & pPromocion.DescuentoPromocion  'Español
    '        Dim strSql As String = "exec sp_REGISTRARPROMOCION '" & pPromocion.NombrePromocion & "','" & pPromocion.HotelPromocion.IdHotel & "','" & fConvierteFecha(pPromocion.FechaInicioPromocion) & "','" & fConvierteFecha(pPromocion.FechaFinPromocion) & "', " & pPromocion.CantidadDiasPromocion & "," & pPromocion.CantidadAdelantoPromocion & "," & pPromocion.DescuentoPromocion  'Ingles
    '        'Creamos un conexión a la BD"
    '        Dim cnx_1 As SqlConnection
    '        cnx_1 = cnx.obtenerCnx()
    '        'Creamos un objeto comando para ejecutar el STORE PROCEDURE
    '        Dim cmd As New SqlCommand(strSql, cnx_1)
    '        'El tipo de comando a ejecutar sera en modo texto
    '        cmd.CommandType = CommandType.Text
    '        'Ejecutamos el query
    '        cmd.ExecuteNonQuery()
    '        'Cerramos la conexión
    '        cnx_1.Close()
    '        'Si no hay problemas devolvemos true indicando que todo estuvo ok.
    '        Return True

    '    Catch ex As Exception

    '        'Si sucediera algún problema retornams falso
    '        Return False

    '    End Try
    'End Function

    'Public Function fModificarPromocion(ByVal pPromocion As PromocionEN)
    '    Try
    '        'Instanciamos un objeto de la clase ConexionBD
    '        Dim cnx As New ConexionBD
    '        'Se crea la sentencia SQL que en este caso es un STORE PROCEDURE 
    '        'Dim strSql As String = "exec sp_ACTUALIZARPROMOCION '" & pPromocion.IdPromocion & "','" & pPromocion.NombrePromocion & "','" & pPromocion.HotelPromocion.IdHotel & "','" & pPromocion.FechaInicioPromocion & "','" & pPromocion.FechaFinPromocion & "', " & pPromocion.CantidadDiasPromocion & "," & pPromocion.CantidadAdelantoPromocion & "," & pPromocion.DescuentoPromocion  'Español
    '        Dim strSql As String = "exec sp_ACTUALIZARPROMOCION '" & pPromocion.IdPromocion & "','" & pPromocion.NombrePromocion & "','" & pPromocion.HotelPromocion.IdHotel & "','" & fConvierteFecha(pPromocion.FechaInicioPromocion) & "','" & fConvierteFecha(pPromocion.FechaFinPromocion) & "', " & pPromocion.CantidadDiasPromocion & "," & pPromocion.CantidadAdelantoPromocion & "," & pPromocion.DescuentoPromocion  'Ingles
    '        'Creamos un conexión a la BD"
    '        Dim cnx_1 As SqlConnection
    '        cnx_1 = cnx.obtenerCnx()
    '        'Creamos un objeto comando para ejecutar el STORE PROCEDURE
    '        Dim cmd As New SqlCommand(strSql, cnx_1)
    '        'El tipo de comando a ejecutar sera en modo texto
    '        cmd.CommandType = CommandType.Text
    '        'Ejecutamos el query
    '        cmd.ExecuteNonQuery()
    '        'Cerramos la conexión
    '        cnx_1.Close()
    '        'Si no hay problemas devolvemos true indicando que todo estuvo ok.
    '        Return True

    '    Catch ex As Exception

    '        'Si sucediera algún problema retornamos falso
    '        Return False

    '    End Try
    'End Function

    'Public Function fBuscarPromocion(ByVal pCodigo As String, ByVal pNombre As String, ByVal pFechaInicio As String, ByVal pFechaFin As String, ByVal pEstado As String) As List(Of PromocionEN)
    '    Dim lPromociones As List(Of PromocionEN) = New List(Of PromocionEN)
    '    Dim objPromocionLeida As PromocionEN '= New PromocionEN

    '    'Instanciamos un objeto de la clase ConexionBD
    '    Dim cnx As New ConexionBD
    '    'Se crea la sentencia SQL que en este caso es un STORE PROCEDURE 
    '    Dim strSql As String = "exec sp_BUSCARPROMOCION_1 '" & pCodigo & "','" & pNombre & "','" & pFechaInicio & "','" & pFechaFin & "','" & pEstado & "' "
    '    'Creamos un conexión a la BD"
    '    Dim cnx_1 As SqlConnection
    '    cnx_1 = cnx.obtenerCnx()
    '    Dim cmd As New SqlCommand(strSql, cnx_1)
    '    Dim myreader As SqlClient.SqlDataReader = cmd.ExecuteReader()

    '    'PROBAR CREANDO EL OBJETO objPromocionLeida AL INICIAR EL PROCEDIMIENTO
    '    If myreader.HasRows Then
    '        While (myreader.Read())
    '            objPromocionLeida = New PromocionEN
    '            objPromocionLeida.IdPromocion = myreader.GetString(0)
    '            objPromocionLeida.NombrePromocion = myreader.GetString(2)
    '            objPromocionLeida.FechaInicioPromocion = myreader.GetDateTime(3).Date
    '            objPromocionLeida.FechaFinPromocion = myreader.GetDateTime(4).Date
    '            objPromocionLeida.EstadoPromocion = myreader.GetString(8)
    '            'objPromocionLeida.CantidadDiasPromocion = myreader.GetInt32(4)
    '            'objPromocionLeida.CantidadAdelantoPromocion = myreader.GetInt32(5)
    '            'objPromocionLeida.DescuentoPromocion = myreader.GetString(6)
    '            lPromociones.Add(objPromocionLeida)
    '        End While

    '    Else
    '        MsgBox("No se encuentran promociones registradas para los parámetros de búsqueda ingresados", MsgBoxStyle.Information, "Aviso")
    '    End If
    '    myreader.Close()
    '    cnx_1.Close()
    '    Return lPromociones
    'End Function

    'Public Function fEliminarPromocion(ByVal pIdPromocion As String) As Boolean
    '    Try
    '        'Instanciamos un objeto de la clase ConexionBD
    '        Dim cnx As New ConexionBD
    '        'Se crea la sentencia SQL que en este caso es un STORE PROCEDURE 
    '        Dim strSql As String = "exec sp_ELIMINARPROMOCION '" & pIdPromocion & "' "
    '        'Creamos un conexión a la BD"
    '        Dim cnx_1 As SqlConnection
    '        cnx_1 = cnx.obtenerCnx()
    '        'Creamos un objeto comando para ejecutar el STORE PROCEDURE
    '        Dim cmd As New SqlCommand(strSql, cnx_1)
    '        'El tipo de comando a ejecutar sera en modo texto
    '        cmd.CommandType = CommandType.Text
    '        'Ejecutamos el query
    '        cmd.ExecuteNonQuery()
    '        'Cerramos la conexión
    '        cnx_1.Close()
    '        'Si no hay problemas devolvemos true indicando que todo estuvo ok.
    '        Return True

    '    Catch ex As Exception

    '        'Si sucediera algún problema retornams falso
    '        Return False

    '    End Try
    'End Function

    'Public Function fValidarPromociones() As Boolean
    '    Try
    '        'Instanciamos un objeto de la clase ConexionBD
    '        Dim cnx As New ConexionBD
    '        'Se crea la sentencia SQL que en este caso es un STORE PROCEDURE 
    '        Dim strSql As String = "exec sp_VALIDARPROMOCIONES"
    '        'Creamos un conexión a la BD"
    '        Dim cnx_1 As SqlConnection
    '        cnx_1 = cnx.obtenerCnx()
    '        'Creamos un objeto comando para ejecutar el STORE PROCEDURE
    '        Dim cmd As New SqlCommand(strSql, cnx_1)
    '        'El tipo de comando a ejecutar sera en modo texto
    '        cmd.CommandType = CommandType.Text
    '        'Ejecutamos el query
    '        cmd.ExecuteNonQuery()
    '        'Cerramos la conexión
    '        cnx_1.Close()
    '        'Si no hay problemas devolvemos true indicando que todo estuvo ok.
    '        Return True

    '    Catch ex As Exception

    '        'Si sucediera algún problema retornams falso
    '        Return False

    '    End Try
    'End Function


    'Public Function fBuscarPromocion(ByVal pCodigo As String) As PromocionEN
    '    Dim objPromocionLeida As PromocionEN = New PromocionEN

    '    'Instanciamos un objeto de la clase ConexionBD
    '    Dim cnx As New ConexionBD
    '    'Se crea la sentencia SQL que en este caso es un STORE PROCEDURE 
    '    Dim strSql As String = "exec sp_BUSCARPROMOCION_2 '" & pCodigo & "' "
    '    'Creamos un conexión a la BD"
    '    Dim cnx_1 As SqlConnection
    '    cnx_1 = cnx.obtenerCnx()
    '    Dim cmd As New SqlCommand(strSql, cnx_1)
    '    Dim myreader As SqlClient.SqlDataReader = cmd.ExecuteReader()

    '    If myreader.HasRows Then
    '        While (myreader.Read())
    '            objPromocionLeida.IdPromocion = myreader.GetString(0)
    '            objPromocionLeida.NombrePromocion = myreader.GetString(2)
    '            objPromocionLeida.FechaInicioPromocion = myreader.GetDateTime(3).Date
    '            objPromocionLeida.FechaFinPromocion = myreader.GetDateTime(4).Date
    '            objPromocionLeida.CantidadDiasPromocion = myreader.GetInt32(5)
    '            objPromocionLeida.CantidadAdelantoPromocion = myreader.GetInt32(6)
    '            objPromocionLeida.DescuentoPromocion = myreader.GetInt32(7)
    '            'objPromocionLeida.EstadoPromocion = myreader.GetString(8)
    '        End While
    '    Else
    '        MsgBox("Se presentaron problemas al cargar la promoción " & pCodigo, MsgBoxStyle.Information, "Error")
    '    End If
    '    myreader.Close()
    '    cnx_1.Close()
    '    Return objPromocionLeida
    'End Function

    ''Utilizado para llenar el combo de estado del formulario
    'Public Function fBuscarEstadoPromocion() As DataSet
    '    Dim dsEstadoPromocion As New DataSet
    '    Dim da As SqlClient.SqlDataAdapter
    '    'Instanciamos un objeto de la clase ConexionBD
    '    Dim cnx As New ConexionBD
    '    Try
    '        'Se crea la sentencia SQL que en este caso es un STORE PROCEDURE 
    '        Dim strSql As String = "exec sp_BUSCAR_ESTADO_PROMOCION"
    '        'Creamos un conexión a la BD"
    '        Dim cnx_1 As SqlConnection
    '        cnx_1 = cnx.obtenerCnx()
    '        da = New SqlClient.SqlDataAdapter(strSql, cnx_1)
    '        da.SelectCommand.CommandType = CommandType.Text
    '        da.Fill(dsEstadoPromocion)
    '        cnx_1.Close()
    '        Return dsEstadoPromocion
    '    Catch ex As Exception
    '        MsgBox("Se presentaron problemas al cargar los estados de las promociones", MsgBoxStyle.Information, "Aviso")
    '        Return Nothing
    '    End Try
    'End Function

    ''Utilizado para cargar los parametros iniciales de las promociones
    'Public Function fBuscarParametrosPromocion() As DataSet
    '    Dim dsParametrosPromocion As New DataSet
    '    Dim da As SqlClient.SqlDataAdapter
    '    'Instanciamos un objeto de la clase ConexionBD
    '    Dim cnx As New ConexionBD
    '    Try
    '        'Se crea la sentencia SQL que en este caso es un STORE PROCEDURE 
    '        Dim strSql As String = "exec sp_BUSCAR_PARAMETROS_PROMOCION"
    '        'Creamos un conexión a la BD"
    '        Dim cnx_1 As SqlConnection
    '        cnx_1 = cnx.obtenerCnx()
    '        da = New SqlClient.SqlDataAdapter(strSql, cnx_1)
    '        da.SelectCommand.CommandType = CommandType.Text
    '        da.Fill(dsParametrosPromocion)
    '        cnx_1.Close()
    '        Return dsParametrosPromocion
    '    Catch ex As Exception
    '        MsgBox("Se presentaron problemas al cargar los parámetros de las promocion", MsgBoxStyle.Information, "Aviso")
    '        Return Nothing
    '    End Try
    'End Function

    ''Convierte el tipo de fecha de español a ingles para que sea aceptado por el sql con idioma ingles
    'Private Function fConvierteFecha(ByVal pfecha As Date)
    '    Dim CadenaFecha As String
    '    CadenaFecha = pfecha.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture)
    '    Return CadenaFecha
    'End Function

End Class
